import store from "./store";
import {addGoods, getInfoAsync, upInfo} from "./store/slices/goods";
import axios from "axios";

store.subscribe(function(){
    console.log(store.getState())
})
// 1- 为dispatch传递一个函数，该函数可以得到执行。
// store.dispatch(function(){
//     console.log(1)
// })


// 2-
// store.dispatch(function(){
//     axios.get("/info").then(value=>{
//         store.dispatch(upInfo(value.data));
//     })
// })


// 3
// store.dispatch(function(dispatch){
//     axios.get("/info/1").then(value=>{
//         dispatch(upInfo(value.data));
//     })
// })


// 4- 可以将函数抽离到外部
// function getInfo(id){
//     return function(dispatch){
//         axios.get("/info/"+id).then(value=>{
//             dispatch(upInfo(value.data));
//         })
//     }
// }
// store.dispatch(getInfo(2));


// 5

store.dispatch(getInfoAsync(2));





// import {
//     createSlice,
//     configureStore
// } from "@reduxjs/toolkit";
//
// const goodsSlice = createSlice({
//     name:"goods",
//     initialState:{
//         goodsList:[]
//     },
//     reducers:{
//         addGoods(state,{payload}){
//             state.goodsList.push(payload);
//         }
//     }
// })
// const {addGoods} = goodsSlice.actions;
// const store = configureStore({
//     reducer:{
//         goods:goodsSlice.reducer
//     }
// })
//
// // console.log(11111,addGoods({id:1,goodsName:"电脑",goodsPrice:12}))
// // console.log(store.getState().goods)
//
// function actionCreator(goodsName,goodsPrice){
//     return {
//         id:Math.random().toString(36).slice(2),
//         goodsName,
//         goodsPrice
//     }
// }
//
//
// store.dispatch(addGoods(actionCreator("电脑",12)));
// store.dispatch(addGoods(actionCreator("手机",12)));
// console.log(store.getState())
//
